package com.mobile.service.dto;
import com.mobile.service.dto.base.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * 工伤保险申请表
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class InjuryDeclarationDTO extends BaseDTO {
    @Schema(description = "主键ID", accessMode = Schema.AccessMode.READ_ONLY)
    private String id;

    @Schema(description = "申请人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantName;

    @Schema(description = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantIdNumber;

    @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantGender;

    @Schema(description = "出生日期", requiredMode = Schema.RequiredMode.REQUIRED)
    private Date applicantBirthDate;

    @Schema(description = "民族", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantEthnic;

    @Schema(description = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantContactPhone;

    @Schema(description = "单位名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String employerName;

    @Schema(description = "统一社会信用代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String employerUscc;

    @Schema(description = "工种", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantOccupation;

    @Schema(description = "入职日期", requiredMode = Schema.RequiredMode.REQUIRED)
    private Date employmentStartDate;

    @Schema(description = "月工资收入", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal monthlySalary;

    @Schema(description = "工伤风险类别", requiredMode = Schema.RequiredMode.REQUIRED)
    private String riskCategory;

    @Schema(description = "申报时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private Date declaredAt;


    private String processStatus;

    private LocalDate processTime;

}
